<template>
  <web-view :src="url"></web-view>
  <!-- <view class="webView-box"></view> -->
</template>

<script>
import {PROTOCOL_TYPE_LIST} from '@/store/constant'
export default {
  name: 'webView',
  data() {
    return {
      mode: '',
      pageTitle: '',
      url: '',
      myWebView: null
    }
  },
  computed: {
    // url() {
    //   return this.$store.getters.webViewUrl
    // }
  },
  onLoad(option) {
    console.log('onLoad URL:', this.$Route.query)
    this.mode = this.$Route.query.mode
    this.type = this.$Route.query.type
    this.url = this.$Route.query.url
    if (this.mode === 'protocol') {
      this.pageTitle = PROTOCOL_TYPE_LIST[this.type]
    } else {
      this.pageTitle = this.$Route.query.title || ''
    }
    this.initWebView()
    console.log('pageTitle', this.pageTitle)
    this.$store.dispatch('setPageTitle', this.pageTitle)
  },
  methods: {
    initWebView() {
      // #ifdef APP-PLUS
      this.myWebView = plus.webview.create("", "custom-webview", {
        plusrequire: "none", //禁止远程网页使用plus的API，有些使用mui制作的网页可能会监听plus.key，造成关闭页面混乱，可以通过这种方式禁止
        top: uni.getSystemInfoSync().statusBarHeight + 44 // 放置在titleNView下方。如果还想在webview上方加个地址栏的什么的，可以继续降低TOP值
      })
      
      this.myWebView.loadURL(this.url)
      // this.myWebView.onloaded = function() {
      //   console.log('webView加载完成', this.myWebView.getURL())
      // }
      
      const currentWebview = this.$mp.page.$getAppWebview() // 获取当前页面的webview对象
      currentWebview.append(this.myWebView) // 一定要append到当前的页面里！！！才能跟随当前页面一起做动画，一起关闭
      // #endif
    }
  }
}
</script>

<style>
</style>
